The invention relates generally to a streaming media distribution architecture that is reliable and resistant to component failures.
A number of systems for distributing data such as streaming media have been proposed which are implemented using a bus between system components. For example, U.S. Pat. No. 5,802,278 describes a bridge/router architecture that is scalable. Input and output modules providing network interfaces are interconnected via a backbone for signaling. These systems are disadvantageous because the bus presents a single point of failure. In other words, the system is rendered inoperable upon bus failure. A need exists for a distribution architecture that is flexible and reconfigurable and is not required to have a shared backbone communication medium to communicate data payloads and messages relating to routing and other functions.
Other distribution systems have been proposed which provide multiple paths between a plurality of components, that is, a cluster. A fail-over cluster is described in U.S. Pat. No. 6,006,259 which performs adaptive load balancing of its components to optimize message throughput. TCP/IP requests therein are processed as if the cluster is a single device without having to have detailed knowledge of the internal cluster topology. If component failure occurs, another component is used in its place. The topology of the cluster, however, is unchanged. The cluster is not optimal in terms of providing alternate paths for data when component failures occur upstream of the cluster, for example. A need exists for a fail-safe system that provides for topology reconfiguration and therefore more than mere load balancing operations within a cluster.
Communication protocols are provided in a conventional content distribution system to permit topology configuration or re-routing around failed components in a cluster. These communications between components can result in delays and packet loss, among other issues, which in turn result in disruptions to real-time data flows. A need therefore exists for a distribution system that provides end-to-end passive fault tolerance and recovery to permit the reliable distribution of real-time data streams in the presence of component failures.
A distribution network architecture for distributing data (e.g., streaming media) is provided which is resistant to component failure. The architecture employs a dynamically reconfigurable hierarchy of ring and mesh topologies.
In accordance with another aspect of the present invention, a distribution router cluster is provided comprising multiple input distribution routers that broadcast or multicast packets to multiple output distribution routers via a shared medium. Multiple equivalent streams are provided to respective input distribution routers that enqueue packets in variable length queues. Once dequeued and broadcast, the packets are enqueued at selected ones of the output distribution routers if they contain a selected stream-unique identifier and the sequence number of the packet has not already existed in the output queue. Output distribution routers receive duplicate or equivalent packets for each media stream and can discard all but one of each packet.
In accordance with another aspect of the present invention, the architecture comprises distribution router clusters with ring connections at regional and local hierarchical levels, respectively.
In accordance with yet another aspect of the present invention, the architecture is passive and does not require a communication protocol for routing around failed system components. Packet streams need not by synchronized. In addition, packets are not internally routed along selected paths using switching functions.